home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / sys / kowin14d.lzh / doc / library / parts.doc < prev    next >
Text File  |  1991-05-03  |  13KB  |  324 lines

  1.  
  2.  
  3.         部品ライブラリ
  4.  
  5.             Copyright   T.Kobayashi
  6.             1991.5.3
  7.  
  8.  
  9.  
  10.  ライブラリは PARTS.A  の内部で定義されています。ライブラリ内からウインドウ
  11. サーバが呼び出されることはありません。このライブラリを使用する時は WLIB.H の
  12. 後に PARTS.H  をインクルードします。
  13.  
  14.  
  15.  
  16. 1 クリップ ( ClipClass )
  17.  
  18.  矩形領域に対する処理です。
  19.  これらの関数は以下の SliderClass, InputClass に対しても実行できます。
  20.  
  21. void    ClipSet( clip, x, y, h, v )
  22. ----------------------------------------------------------------------------
  23. ClipClass   *clip ;         矩形領域
  24. int         x, y ;          左上座標
  25. int         h, v ;          大きさ
  26.  
  27.  矩形領域を設定します。
  28. ----------------------------------------------------------------------------
  29.  
  30.  
  31. void    ClipMove( clip, x, y );
  32. ----------------------------------------------------------------------------
  33. ClipClass   *clip ;         矩形領域
  34. int         x, y ;          左上座標
  35.  
  36.  矩形領域を移動します。
  37. ----------------------------------------------------------------------------
  38.  
  39.  
  40. int     ClipInner( clip, x, y );
  41. ----------------------------------------------------------------------------
  42. ClipClass   *clip ;         矩形領域
  43. int         x, y ;          座標
  44.  
  45.  座標( x, y )が矩形領域の内部にあるか検査します。
  46.  戻り値は内部にあれば TRUE なければ FALSE  です。
  47. ----------------------------------------------------------------------------
  48.  
  49.  
  50. void    ClipGetSize( clip, hp, vp );
  51. ----------------------------------------------------------------------------
  52. ClipClass   *clip ;         矩形領域
  53. int         *hp, *vp ;      格納バッファ
  54.  
  55.  矩形領域の大きさを hp, vp で示されるアドレスに格納します。
  56. ----------------------------------------------------------------------------
  57.  
  58.  
  59. int     ClipOverlap( ret, clip1, clip2 );
  60. ----------------------------------------------------------------------------
  61. ClipClass   ret, *clip1, *clip2 ;   矩形領域
  62.  
  63.  矩形領域 clip1 と clip2 の重なった領域を ret に格納します。
  64.  戻り値は重なった領域が存在する時は TRUE 存在しない時は FALSE  です。存在し
  65. ない時は ret  は保証されません。
  66. ----------------------------------------------------------------------------
  67.  
  68.  
  69.  
  70. 2 スライドスイッチ ( SliderClass )
  71.  
  72.  スクロールウインドウについているようなスライドスイッチに対する処理です。
  73.  
  74. void    SliderSet( slider, x, y, dir, width, length, min, max )
  75. ----------------------------------------------------------------------------
  76. SliderClass *slider ;       スライドスイッチ構造体
  77. int         x, y ;          左上座標
  78. int         dir ;           スライドスイッチの方向
  79. int         width, length ; スライドスイッチの幅と長さ(ドット単位)
  80. int         min, max ;      スライドスイッチの最大値、最小値(仮想座標)
  81.  
  82.  スライドスイッチ構造体にパラメータを設定します。
  83.  dir は DirectionX, DirectionY のどちらかを選択します。
  84.  min, max  はスライドスイッチから値を得たり、値を設定したりする時の仮想座標
  85. の定義です。
  86. ----------------------------------------------------------------------------
  87.  
  88.  
  89. int     SliderGetCurrentPosition( slider )
  90. ----------------------------------------------------------------------------
  91. SliderClass *slider ;       スライドスイッチ構造体
  92.  
  93.  スライドスイッチの現在位置を得ます。戻り値は仮想座標で与えられます。
  94. ----------------------------------------------------------------------------
  95.  
  96.  
  97. int     SliderGetMaxPosition( slider )
  98. ----------------------------------------------------------------------------
  99. SliderClass *slider ;       スライドスイッチ構造体
  100.  
  101.  スライドスイッチの最大位置を与えます。戻り値は仮想座標で与えられます。
  102.  スライドスイッチの最小位置は SlideSet で与えられた min  になりますが最大位
  103. 置は max  よりスライドスイッチの大きさ分だけ小さくなります。
  104. ----------------------------------------------------------------------------
  105.  
  106.  
  107. int     SliderGetPosition( slider, x, y )
  108. ----------------------------------------------------------------------------
  109. SliderClass *slider ;       スライドスイッチ構造体
  110. int         x, y ;          参照座標(ドット単位)
  111.  
  112.  座標 x, y に対応するスライドスイッチの位置を得ます。通常は x, y にマウスの
  113. 座標を設定し、マウスがどこを示しているかを得るために使用します。
  114.  戻り値は仮想座標で与えられます。
  115. ----------------------------------------------------------------------------
  116.  
  117.  
  118. int     SliderGetScroll( slider, step )
  119. ----------------------------------------------------------------------------
  120. SliderClass *slider ;       スライドスイッチ構造体
  121. int         step ;          移動量(仮想座標)
  122.  
  123.  スライドスイッチを step だけ移動しようとしたときの変化すべき位置を得ます。
  124. スライドスイッチの最大値、最小値も考慮します。この関数では実際の位置は変化し
  125. ません。
  126.  戻り値は仮想座標で与えられます。
  127. ----------------------------------------------------------------------------
  128.  
  129.  
  130. int     SliderSetPosition( buf, slider, top, size )
  131. ----------------------------------------------------------------------------
  132. DrawBuf     *buf ;          描画バッファ
  133. SliderClass *slider ;       スライドスイッチ構造体
  134. int         top, size ;     スライドスイッチの位置および大きさ(仮想座標)
  135.  
  136.  スライドスイッチを移動させます。移動する時の描画の手続きを描画バッファに設
  137. 定します。戻り値は設定した描画バッファの数です。
  138.  buf に NULL を設定すると構造体の内部状態だけ変化させ、描画バッファには設定
  139. されません。
  140. ----------------------------------------------------------------------------
  141.  
  142.  
  143. int     SliderSetDraw( buf, slider )
  144. ----------------------------------------------------------------------------
  145. DrawBuf     *buf ;          描画バッファ
  146. SliderClass *slider ;       スライドスイッチ構造体
  147.  
  148.  スライドスイッチを再表示するための手続きを描画バッファに設定します。戻り値
  149. は設定した描画バッファの数です。
  150. ----------------------------------------------------------------------------
  151.  
  152.  
  153.  
  154. 3 ビットマップバッファ ( Sheet )
  155.  
  156.  ヒットマップバッファに対する処理です。
  157.  
  158. Sheet   *SheetOpen( h, v )
  159. ----------------------------------------------------------------------------
  160. int     h, v ;              ビットマップバッファの大きさ(ドット単位)
  161.  
  162.  ビットマップバッファを確保します。必要なメモリ領域はヒープから確保します。
  163. ----------------------------------------------------------------------------
  164.  
  165.  
  166. void    SheetClose( sp )
  167. ----------------------------------------------------------------------------
  168. Sheet   *sp ;               ビットマップバッファ
  169.  
  170.  SheetOpen 関数で確保したビットマップバッファを開放します。
  171. ----------------------------------------------------------------------------
  172.  
  173.  
  174. void    SheetClear( sp, clip, code )
  175. ----------------------------------------------------------------------------
  176. Sheet       *sp ;           ビットマップバッファ
  177. ClipClass   *clip ;         クリッピング領域
  178. int         code ;          カラーコード
  179.  
  180.  ビットマップバッファを code でクリアします。
  181.  clip  に設定された領域でクリッピングします。
  182. ----------------------------------------------------------------------------
  183.  
  184.  
  185. void    SheetLine( sp, clip, x1, y1, x2, y2, code, option )
  186. ----------------------------------------------------------------------------
  187. Sheet       *sp ;           ビットマップバッファ
  188. ClipClass   *clip ;         クリッピング領域
  189. int         x1, y1 ;        頂点座標
  190. int         x2, y2 ;        頂点座標
  191. int         color ;         カラーコード
  192. int         option ;        描画オプション
  193.  
  194.  ビットマップバッファに直線を引く、矩形領域を塗りつぶす、長方形を描く、のど
  195. れかの処理します。
  196.  x1, y1, x2, y2, color, option は DrawSetLine 関数と同じです。
  197.  clip  に設定された領域でクリッピングします。
  198. ----------------------------------------------------------------------------
  199.  
  200.  
  201. void    SheetPutPattern( sp, clip, sp2 )
  202. ----------------------------------------------------------------------------
  203. Sheet       *sp ;           ビットマップバッファ
  204. ClipClass   *clip ;         クリッピング領域
  205. Sheet       *sp2 ;          表示パターン
  206.  
  207.  ビットマップバッファにパターンの表示します。クリッピング領域よりよりパター
  208. ンが小さい場合は繰り返し表示されます。
  209.  clip  に設定された領域でクリッピングします。
  210. ----------------------------------------------------------------------------
  211.  
  212.  
  213. void    SheetCopy( sp, clip, x, y, sp2 )
  214. ----------------------------------------------------------------------------
  215. Sheet       *sp ;           ビットマップバッファ
  216. ClipClass   *clip ;         クリッピング領域
  217. int         x, y ;          表示座標
  218. Sheet       *sp2 ;          表示パターン
  219.  
  220.  ビットマップバッファにパターンの表示します。
  221.  clip  に設定された領域でクリッピングします。
  222. ----------------------------------------------------------------------------
  223.  
  224.  
  225. void    SheetSymbol( sp, clip, x, y, str, attr, font )
  226. ----------------------------------------------------------------------------
  227. Sheet       *sp ;           ビットマップバッファ
  228. ClipClass   *clip ;         クリッピング領域
  229. int         x, y ;          表示座標
  230. char        *str ;          表示文字列
  231. int         attr ;          表示属性
  232. int         font ;          フォント
  233.  
  234.  ビットマップバッファに文字列の表示します。
  235.  x, y, str, attr, font は DrawSetSymbol  関数と同じです。
  236.  clip  に設定された領域でクリッピングします。
  237. ----------------------------------------------------------------------------
  238.  
  239.  
  240. void    SheetScroll( sp, clip, dx, dy )
  241. ----------------------------------------------------------------------------
  242. Sheet       *sp ;           ビットマップバッファ
  243. ClipClass   *clip ;         クリッピング領域
  244. int         dx, dy ;        スクロール量
  245.  
  246.  ビットマップバッファをスクロールさせます。dx, dy のどちらかは 0 でなければ
  247. なりません。
  248.  clip  に設定された領域でクリッピングします。
  249. ----------------------------------------------------------------------------
  250.  
  251.  
  252.  
  253. 4 ウインドウでのキー入力 ( InputClass )
  254.  
  255.  ウインドウでキー入力するための処理です。
  256.  
  257. void    InputSet( input, x, y, str, max, attr, font )
  258. ----------------------------------------------------------------------------
  259. InputClass  *input ;        インプット構造体
  260. int         x, y ;          入力位置
  261. char        *str ;          入力文字列バッファ
  262. int         max ;           入力最大カラム
  263. int         attr ;          表示属性
  264. int         font ;          フォント
  265. ----------------------------------------------------------------------------
  266.  
  267.  
  268. void    InputSetCursor( input, cur )
  269. ----------------------------------------------------------------------------
  270. InputClass  *input ;        インプット構造体
  271. int         cur ;           カーソル位置
  272.  
  273.  カーソル位置を設定します。
  274. ----------------------------------------------------------------------------
  275.  
  276.  
  277. int     InputGetCursor( input )
  278. ----------------------------------------------------------------------------
  279. InputClass  *input ;        インプット構造体
  280.  
  281.  現在のカーソル位置を得ます。
  282.  戻り値はカーソル位置です。
  283. ----------------------------------------------------------------------------
  284.  
  285.  
  286. int     InputSetCursorVisible( buf, input, sw )
  287. ----------------------------------------------------------------------------
  288. DrawBuf     *buf ;          描画バッファ
  289. InputClass  *input ;        インプット構造体
  290. int         sw ;            スイッチ
  291.  
  292.  カーソルを ON または OFF します。sw が TRUE の時はカーソル ON、sw が FALSE
  293. の時は OFF です。
  294.  カーソルが変化した時は buf に描画手続きを設定します。 buf が NULL の時は設
  295. 定しません。
  296.  戻り値は設定した描画バッファの数です。
  297. ----------------------------------------------------------------------------
  298.  
  299.  
  300. int     InputSetDraw( buf, input )
  301. ----------------------------------------------------------------------------
  302. DrawBuf     *buf ;          描画バッファ
  303. InputClass  *input ;        インプット構造体
  304.  
  305.  入力バッファの再表示のための描画手続きを設定します。
  306.  戻り値は設定した描画バッファの数です。
  307. ----------------------------------------------------------------------------
  308.  
  309.  
  310. int     InputKey( buf, input, keycode, shift )
  311. ----------------------------------------------------------------------------
  312. DrawBuf     *buf ;          描画バッファ
  313. InputClass  *input ;        インプット構造体
  314. int         keycode ;       キーコード
  315. int         shift ;         シフトキーの状態
  316.  
  317.  キー入力の処理をします。buf に描画手続きを設定します。
  318.  keycode, shift  は EventInfo  のメンバの KeyCode, ShiftStat を設定します。
  319. keycode は通常のキーコードの他に ^A ^S ^D ^F ^G ^H BS DEL も受け付けます。機
  320. 能はカーソルの移動および文字の削除です。
  321.  戻り値は設定した描画バッファの数です。
  322. ----------------------------------------------------------------------------
  323.  
  324.